welcome: please sign in

You are not allowed to use this action.

Clear message
location: User's guide

BDF User's guide

How to run BDF

To run BDF, you can write a shell script named "run.sh" with following content,

 #!/bin/bash
 # Set BDF home directory
 export BDFHOME=~/work/0.5.dev

 # run BDF driver with input file $1
 $BDFHOME/sbin/bdfdrv.py -r $1

For example, you can copy the file named "$BDFHOME/Tests/input/test002.inp" to a work directory. Then, you write down the shell script and store it in you work directory. To evoke BDF calculation, you just use command

$./run.sh test001.inp

The output will be printed on standard output. Thus, it is better to redirect output to a file.

$./run.sh test001.inp > test001.out

Some tips to run BDF

 1. There are a lot of testing inputs saved in directory of $BDFHOME/Tests/input.
 2. BDF driver assume input file has the name *.inp. Thus, you can run BDF with command
    $./run.sh test001
 3. If BDF is compiled with OpenMP supporting, you can can set OpenMP environment variables in running script. For example,
    export OMP_NUM_THREADS=4
    export OMP_STACKSIZE=1024M # this is for GCC-compiled BDF; please change OMP_STACKSIZE to KMP_STACKSIZE if you compiled BDF with the Intel compiler
 4. You can use shell command in BDF input files. For example, you can backup HF canonical orbitals after SCF calculation.
     $SCF
     $END
     %cp $BDF_WORKDIR/$BDFTASK.scforb $BDF_WORKDIR/myscforb.bak
 5. A sample run.sh file is available in bdf-pkg/sbin/run.sh.
 6. If you have chosen gfortran as the Fortran compiler, the resulting BDF program will use buffered output, i.e. the output file will "lag behind" the actual calculation by a few tens of lines. If this is undesirable, please add the following line to run.sh:
     export GFORTRAN_UNBUFFERED_ALL=1

BDF easy input

BDF easy input is in developing ... bdfeasyinput

BDF Flowchart

Note this is the execution order of the modules, which is usually, but not always, the same as the order of input blocks in the input file.

bdf_module_chart.jpg

Input style

Environmental variables used in BDF

There are some important environmental variables used in BDF.

  1.BDF_WORKDIR  - Work directory used in running BDF program.   
  2.BDF_TMPDIR     -  Scratch directory used in running BDF program. This directory can be removed after the calculation.
  3.BDFTASK           - Task name of a BDF work.

BDF modules

autofrag - Automatic fragmentation driver, for FLMO/iOI calculations.

bdfopt - Molecular geometry optimizer.

compass - Molecule geometry and basis set preprocess.

drt - Generate DRTs in GUGA.

Elecoup - Electron transfer integral, electric excited states coupling etc.

expandmo - Expand molecular orbital from the small basis set to large basis set.

genfrag - Generate or optimize fragments and fragments pairs in Local orbital based Frag-MP2/CCSD.

grad - Gradient.

numgrad - Numerical gradient. Supporting SCF,MCSCF, CCSD, etc.

mcscf - Multi-configuration self-consistent-field program

mp2 - MP2 program

mrci - Multi-reference configuration interaction program.

localmo - Localization of molecule orbital.

scf - Self-consistent-field program.

tddft - Time dependent density functional program.

vgmfci - electron-nucleus mean field configuration interaction program.

xuanyuan - 1e and 2e integrals program.

resp - Module for response properties based on HF and DFT

Traint - AO to MO integral transformation.

xianci - Module for MRCISD and MRPT2 calculations. Interfaced with the Xian-CI package

nmr - Module for the NMR chemical shieldings

QM/MM calculation

External charge -- Input point charges. A file named $BDFTASK.extcharge should be prepared. Here is an example.

H2O.inp

$COMPASS
Title
water molecule in backgroud of exteral charges
Basis
6-31g
Geometry
O   0.000000   0.000000   0.106830
H   0.000000   0.785178  -0.427319
H   0.000000  -0.785178  -0.427319
End Geometry
Extcharge  # required if external charge exists.
point      # required if external charge exists. "point" specifies the type of external charge is point charge.                                                                                                                                        
Check
Skeleton
$END

$XUANYUAN
direct
schwarz
$END

$SCF
RHF
$END

H2O.extcharge

External charge, Point charge   # title line
6  # number of point charges. Next six lines are label, x,y,z coordinates, charge. Unit: angstrom(default)
C1     -0.732879     0.000000     5.000000     0.114039 
C2      0.366440     0.000000     5.780843    -0.456155 
C3      0.366440     0.000000     4.219157    -0.456155
C4     -0.732879     0.000000     10.00000     0.114039 
C5      0.366440     0.000000     10.78084    -0.456155 
C6      0.366440     0.000000     9.219157    -0.456155

Another example

External charge, Point charge   # title line
6    Bohr                                               # number of point charges, Unit: Bohr
C1     -0.732879     0.000000     5.000000     0.114039 
C2      0.366440     0.000000     5.780843    -0.456155 
C3      0.366440     0.000000     4.219157    -0.456155
C4     -0.732879     0.000000     10.00000     0.114039 
C5      0.366440     0.000000     10.78084    -0.456155 
C6      0.366440     0.000000     9.219157    -0.456155

PCM solver

To use PCM in BDF, you need add PCMSOLVER in SCF input. Then a pcminput section is required if you would like to change the default parameters in PCM solver. For detail: please check PCMinput parameters.

$SCF
...
PCMSOLVER   # require PCM module
$END

&PCMINPUT   # PCM input
Solvent
   Chloroform  #  Set solvent as CHCl3
&END

Useful tools

bdffrag